查看原文
其他

“替代Linux”?!全球技术海啸来临!

博文视点 博文视点Broadview 2021-07-07


今天博文菌要给大家介绍一项不得了的新技术!

这项技术是近年来Linux 系统技术领域的一大创新,热度攀升迅速。在Linux 内核开发者圈中,甚至有人戏称

“它会替代Linux”

这项技术就是伯克利数据包过滤器,江湖人称——

BPF 技术


 什么是BPF?


BPF ,全称Berkeley Packet Filter(伯克利数据包过滤器)是近年来Linux 系统技术领域一个巨大的创新。

BPF 于1992 年诞生在美国劳伦斯伯克利国家实验室(B 代表伯克利),论文 The BSD Packet Filter: A New Architecture for User-level Packet Capture  对其进行了阐述。

不过,BPF 在过去相当长的时间内都鲜为人知,原因无非是用户和应用场景少,即便在经常使用tcpdump 嗅探抓包的网络管理员中,也极少有人知道它的存在。

而今时不同往日,BPF 现在已经可以挂载到任何事件源上!其拥有一系列强大工具,这些工具好比瑞士军刀,体型虽小但非常实用,极易扩展、定制来适应不同生产环境

它也因此成为系统工程领域一项热门的新技术,拥有众多活跃的贡献者。


 BPF能做什么?


精确地解释BPF 的作用比较困难,因为本身这个概念有些抽象,同时它能做到的事情也确实很多。

简单来说,BPF提供了一种在各种内核事件和应用程序事件发生时运行一段小程序的机制。而基于这样一个机制,衍生出了许多基于eBPF的工程项目,如bcc、bpftrace等等。

目前BPF 的三个主要应用领域分别是网络、安全和可观测性。 

BPF作为性能分析、监视和可观测性的工具,效率十分优越,被大公司应用于生产环境,覆盖范围也开始涉及网络之外的其他领域。其中字节跳动就依托这项系统底层技术构建了全新而强大的性能分析和网络监控诊断平台。


BPF 技术作为 Linux 内核的一个关键发展节点,其重要程度不亚于虚拟化、容器、SDN 等技术。不过BPF编写起来冗杂繁琐,想要掌握并应用这项新技能免不了头发又要大把大把的脱……

那么,直接给你150多个可以立即使用的BPF工具够不够?

震撼全球的Gregg大师新作



《BPF之巅:洞悉Linux系统和应用性能》

【美】Brendan Gregg 著

孙宇聪 吕宏利 刘晓舟 译

  • 性能优化万用金典临世,再次引起全球技术海啸!

本书作者来自性能分析领域享誉全球的大神Brendan Gregg,他基于系统可观测性和性能分析开发有一系列工具,在Netflix、Facebook 等公司已进入服务器默认安装列表。

正如前文所说,这些工具就好比瑞士军刀,而本书就是瑞士军刀唯一的说明书!

 ▼扫码立即获取详情▼


面世即巅峰,硬核内容畅行全球


作为性能分析领域享誉全球的专家,Brendan Gregg 也是BPF项目的核心开发者,同时也是经典畅销著作《性能之巅:洞悉系统、企业与云计算》的作者。

没有人比他更适合来写这样一本利用 BPF 工具进行性能分析的书了!

书中有150多个可以立即使用的分析调试工具及其应用场景,并且提供开发自定义工具的分步指南。

其中有数十个强大的工具是专门为本书而开发,并可下载使用!

本书的另一个关注方向是 Linux 系统性能和应用程序性能的调优,学习如何分析CPU、内存、存储设备、文件系统、网络、编程语言、应用程序、容器、虚拟机管理器、安全及内核,由浅入深了解基础、进阶工具的使用,收集更有用更深入的技术信息。

本书都有哪些使用场景?

本书可以作为一本参考手册使用,在遇到问题时参考对应的章节。书中工具仅是一个起点,当对BPF开发环境有一定了解之后,可以根据需要对现有工具进行深度定制。

此外,超多岗位/身份的同学都能从本书中得到帮助:

  • 技术爱好者可用来对系统底层调试进行深入学习

  • 系统维护者可用来了解系统瓶颈在哪里

  • 资源主管可用来提高系统的效率

  • 负责生产系统的系统管理员、站点可靠性工程师、数据库管理员、性能工程师和支持人员可用来诊断性能问题、了解资源使用情况、排除故障

  • 应用程序开发人员可使用书中工具分析并检测代码及系统事件

  • 安全工程师可用来监控事件以发现可疑行为

  • 性能监控开发者可用来在产品中添加可观测性

  • 内核开发人员可用来编写bpftrace单行程序来调试代码

  • 学习操作系统和应用程序的学生可使用BPF工具以自定义的新方式分析正在运行的系统


强大的作者与译者
  • Brendan Gregg(布兰登.格雷格)

Netflix 高级性能工程师 Brendan Gregg 是 BPF(eBPF)的主要贡献者,他帮助开发和维护了两个主要的 BPF 前端框架,开创了 BPF 用于可观测性的先河,并创建了数十种基于 BPF 的性能分析工具。他编著的畅销书有《性能之巅:洞悉系统、企业与云计算》。
  • 孙宇聪(译者)

现任 Facebook 运维工程师经理,曾在谷歌工作多年,任谷歌高级SRE(Senior Site Reliblity Engineer),Coding.net 前技术负责人,译有《SRE:Google运维解密》《架构整洁之道》等经典畅销技术图书。


  • 吕宏利(译者)

资深SRE,现任职于谷歌基础架构部。之前曾负责谷歌搜索广告和内容广告系统运维工作,有多年分布式系统研发与运维经验。对运维工具平台建设、监控、应用性能跟踪及分析、数据化运维等方面有深入的研究。


  • 刘晓舟(译者)


毕业于北京大学计算机系,现供职于字节跳动公司系统部,任系统架构师。他在字节跳动主持构建了基于 eBPF 的大规模性能分析和网络监控诊断平台,闲暇时间也在相关开源社区提交代码。在加入字节跳动之前,他有 10 年国家部委电子政务和大数据研究经历。


最后希望本书能给想要深入了解 BPF 技术与 Linux 内核技术的你带来便利!

 ▼扫码立即获取详情▼



如果喜欢本文
欢迎 在看留言分享至朋友圈 三连

 热文推荐  





▼点击阅读原文,获取本书详情~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存